function VUE(options) {
  this.data = options.data;
  this.methods = options.methods;
  // Object.keys(this.data).forEach(key => {
  //   // this.proxyKeys(key)
  // })
  observer(this.data);
  new Compile(options.el, this);
  options.mounted && options.mounted.call(this);
}

VUE.prototype = {
  proxyKeys(key) {
    console.log(this.data);
    Object.defineProperty(this, key, {
      enumerable: true,
      configurable: true,
      get() {
        return this.data[key];
      },
      set(newVal) {
        this.data[key] = newVal;
      }
    });
  }
};
